//
// Created by Nasa on 2023/3/26.
// 二维数组练习
/*
3 3
1 2 3
4 5 6
7 8 9

 */

#include <iostream>

using namespace std;

int main()
{
    // 二维数组, 先输入m,n,再输入内容,输出打印
    int m, n;
    cin>>m>>n;
    int l[m][n];
    for (int i=0;i<m;++i)
    {
        for (int j=0;j<n;++j)
        {
            cin>>l[i][j];
        }
    }
// 正序打印
    printf("print\n");
    for (int i=0;i<n;++i)
    {
        for (int j=0;j<m;++j)
        {
            cout<<l[j][i];
        }
        cout<<endl;
    }
// 逆序打印
    printf("reverse print\n");
    for (int i=m-1;i>=0;i--)
    {
        for (int j=n-1;j>=0;j--)
        {
            cout<<l[i][j];
        }
        cout<<endl;
    }

// 倒三角
    printf("triangle print\n");
    for (int i=m-1;i>=0;--i)
    {
        for (int j=0;j<n-i;++j)
        {
            cout<<l[i][j];
        }
        cout<<endl;
    }

// 打印对角线
    printf("diagonal print\n");
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < m; ++j)
        {
            if(i==j)
            {
                cout<<l[i][j];
            }
            if (i+j==2)
            {
                cout<<l[i][j];
            }
        }
    }
    return 0;
}

